package com.ltg.urban.domain.project.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ltg.framework.mybatis.entities.BaseEntity;
import com.ltg.urban.domain.file.entity.FileInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p> ClassName: UrbanProject </p>
 * <p> Package: com.ltg.urban.domain.project.entity </p>
 * <p> Description: </p>
 * <p></p>
 *
 * @Author: LTG
 * @Create: 2023/2/16 - 22:58
 * @Version: v1.0
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@TableName("u_project")
@Builder
public class UrbanProject extends BaseEntity {
    @Schema(title = "项目名称")
    private String projectName;
    @Schema(title = "预计时间:单位(月)")
    private Integer budgetTime;
    @Schema(description = "实际时间:单位月")
    private Integer actualTime;
    @Schema(description = "开工时间")
    private LocalDateTime startTime;
    @Schema(description = "完工时间")
    private LocalDateTime endTime;
    @Schema(title = "负责人id:就是项目id")
    private Long mangerId;
    @Schema(description = "项目状态:0立项、1送审、2审批完成、3项目进行、4项目验收、5项目完结")
    private Integer status;
    @Schema(description = "审批状态:0审批中、1审批成功、-1审批失败:审批失败之后重申,status变为0")
    private Integer approveResult;
    @Schema(description = "审批人")
    private String approver;
    @Schema(description = "审批时间")
    private LocalDateTime approveTime;

    @Schema(title = "附件")
    private Long fileId;
    @TableField(exist = false)
    @Schema(title = "附件详细信息")
    private FileInfo fileInfo;
    private String content;
    @TableField(exist = false)
    @Schema(title = "项目经理")
    private String manger;


}
